package cn.ryh.gat1400.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @author Raoyh
 * @Description
 * @create 2022-09-05 10:55
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class NonMotorVehicle {

    /**
     * 车辆全局唯一标识
     */
    @JsonProperty("MotorVehicleID")
    private String motorVehicleId;

    /**
     * 信息分类 ,人工采集还是自动采集
     */
    @JsonProperty("InfoKind")
    private int infoKind;

    /**
     * 来源图像标识
     */
    @JsonProperty("SourceID")
    private String sourceId;

    /**
     * 设备编码
     */
    @JsonProperty("DeviceID")
    private String deviceId;

    /**
     * 左上角 X 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("LeftTopX")
    private int leftTopX;

    /**
     * 左上角 Y 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("LeftTopY")
    private int leftTopY;

    /**
     * 右下角 X 坐标 的位置，记录左上角坐标及右下角坐标
     */
    @JsonProperty("RightBtmX")
    private int rightBtmX;

    /**
     * 右下角 Y 坐标，记录左上角坐标及右下角坐标
     */
    @JsonProperty("RightBtmY")
    private int rightBtmY;

    /**
     * 位置标记时间
     */
    @JsonProperty("MarkTime")
    private int markTime;

    /**
     * 车俩出现时间
     */
    @JsonProperty("AppearTime")
    private String appearTime;

    /**
     * 车俩消失时间
     */
    @JsonProperty("DisappearTime")
    private String disappearTime;

    /**
     * 有无车牌
     */
    @JsonProperty("HasPlate")
    private String hasPlate;

    /**
     * 号牌种类
     */
    @JsonProperty("PlateClass")
    private String plateClass;

    /**
     * 车牌颜色,指号牌底色，取 ColorType 中部分值： 黑色，白色，黄色，蓝色，绿色
     */
    @JsonProperty("PlateColor")
    private String plateColor;

    /**
     * 车牌号 各类机动车号牌编号车牌全部无法识别的以“无车牌”标识，部分未识别的每个字符以半角‘-’代替
     */
    @JsonProperty("PlateNo")
    private String plateNo;

    /**
     * 挂车牌号 ,各类机动车挂车号牌编号
     */
    @JsonProperty("PlateNoAttach")
    private String plateNoAttach;

    /**
     * 车牌描述, 车牌框广告信息，包括车行名称，联系电话等
     */
    @JsonProperty("PlateDescribe")
    private String plateDescribe;

    /**
     * 是否套牌
     */
    @JsonProperty("IsDecked")
    private String isDecked;

    /**
     * 是否涂改
     */
    @JsonProperty("IsAltered")
    private String isAltered;


    /**
     * 是否遮挡
     */
    @JsonProperty("IsCovered")
    private String isCovered;

    /**
     * 行驶速度,单位千米每小时（km/h）
     */
    @JsonProperty("Speed")
    private int speed;

    /**
     * 行驶状态代码
     */
    @JsonProperty("DrivingStatusCode")
    private String drivingStatusCode;

    /**
     * 车辆使用性质代码
     */
    @JsonProperty("UsingPropertiesCode")
    private int usingPropertiesCode;

    /**
     * 车辆品牌,被标注车辆的品牌
     */
    @JsonProperty("VehicleBrand")
    private String vehicleBrand;

    /**
     * 车辆款型
     */
    @JsonProperty("VehicleType")
    private String vehicleType;

    /**
     * 车辆长度
     */
    @JsonProperty("VehicleLength")
    private int vehicleLength;

    /**
     * 车辆宽度
     */
    @JsonProperty("VehicleWidth")
    private int vehicleWidth;

    /**
     * 车辆高度
     */
    @JsonProperty("VehicleHeight")
    private int vehicleHeight;

    /**
     * 车身颜色
     */
    @JsonProperty("VehicleColor")
    private String vehicleColor;

    /**
     * 车前盖,对车前盖的描述
     */
    @JsonProperty("VehicleHood")
    private String vehicleHood;

    /**
     * 车后盖,对车后盖的描述
     */
    @JsonProperty("VehicleTrunk")
    private String vehicleTrunk;

    /**
     * 车轮,对车轮的描述
     */
    @JsonProperty("VehicleWheel")
    private String vehicleWheel;

    /**
     * 车轮印花纹,对车轮花纹的描述
     */
    @JsonProperty("WheelPrintedPatte")
    private String wheelPrintedPatte;


    /**
     * 车窗,对车窗的描述
     */
    @JsonProperty("VehicleWindow")
    private String vehicleWindow;

    /**
     * 车顶,对车顶的描述
     */
    @JsonProperty("VehicleRoof")
    private String vehicleRoof;

    /**
     * 车门,对车门的描述
     */
    @JsonProperty("VehicleDoor")
    private String vehicleDoor;

    /**
     * 车侧,对车侧面的描述，不包括门
     */
    @JsonProperty("SideOfVehicle")
    private String sideOfVehicle;

    /**
     * 车厢,对车厢的描述
     */
    @JsonProperty("CarOfVehicle")
    private String carOfVehicle;

    /**
     * 后视镜,对后视镜的描述
     */
    @JsonProperty("RearviewMirror")
    private String rearviewMirror;

    /**
     * 底盘,对车底盘的描述
     */
    @JsonProperty("VehicleChassis")
    private String vehicleChassis;

    /**
     * 遮挡,对车遮挡物的描述
     */
    @JsonProperty("VehicleShielding")
    private String vehicleShielding;

    /**
     * 贴膜颜色
     */
    @JsonProperty("FilmColor")
    private String filmColor;

    /**
     * 改装标志
     */
    @JsonProperty("IsModified")
    private String isModified;

    /**
     * 可以包含0个或者多个子图像 对象
     */
    @JsonProperty("SubImageList")
    private SubImageList subImageInfoList;

}
